﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SegmentDisplay.Common.Digit16
{
    public enum Values16 : uint
    {
        SimbolEmpty = 0x00,
        SegmentA = 1,
        SegmentB = 1 << 1,
        SegmentC = 1 << 2,
        SegmentD = 1 << 3,
        SegmentE = 1 << 4,
        SegmentF = 1 << 5,
        SegmentG = 1 << 6,
        SegmentH = 1 << 7,
        SegmentJ = 1 << 8,
        SegmentM = 1 << 9,
        SegmentI = 1 << 10,
        SegmentK = 1 << 11,
        SegmentN = 1 << 12,
        SegmentO = 1 << 13,
        SegmentP = 1 << 14,
        SegmentR = 1 << 15,


        Digit0 = SegmentA | SegmentB | SegmentC | SegmentD | SegmentE | SegmentF | SegmentG | SegmentH,
        Digit1 = SegmentB | SegmentC | SegmentD,
        Digit2 = SegmentA | SegmentB | SegmentC | SegmentJ | SegmentM | SegmentG | SegmentF | SegmentE,
        Digit3 = SegmentA | SegmentB | SegmentC | SegmentD | SegmentJ | SegmentM | SegmentF | SegmentE,
        Digit4 = SegmentH | SegmentJ | SegmentM | SegmentC | SegmentD,
        Digit5 = SegmentA | SegmentB | SegmentH | SegmentJ | SegmentM | SegmentD | SegmentF | SegmentE,
        Digit6 = SegmentA | SegmentB | SegmentH | SegmentG | SegmentF | SegmentE | SegmentD | SegmentJ | SegmentM,
        Digit7 = SegmentA | SegmentB | SegmentR | SegmentO,
        Digit8 = SegmentA | SegmentB | SegmentC | SegmentD | SegmentE | SegmentF | SegmentG | SegmentH | SegmentJ | SegmentM,
        Digit9 = SegmentA | SegmentB | SegmentC | SegmentD | SegmentE | SegmentF | SegmentJ | SegmentM,

        //A  B 	C 	D 	E 	F 	G 	H 	I 	J 	K 	L 	M 	N 	O 	P 	Q 	R 	S 	T 	U 	V 	W 	X 	Y 	Z
        SimbolA = SegmentA | SegmentB | SegmentC | SegmentD | SegmentG | SegmentH | SegmentJ | SegmentM,
        SimbolB = SegmentA | SegmentB | SegmentC | SegmentD | SegmentE | SegmentF | SegmentM | SegmentP | SegmentR,
        SimbolC = SegmentA | SegmentB | SegmentE | SegmentF | SegmentG | SegmentH,
        SimbolD = SegmentA | SegmentB | SegmentC | SegmentD | SegmentE | SegmentF,
        SimbolE = SegmentA | SegmentB | SegmentE | SegmentF | SegmentG | SegmentH | SegmentM | SegmentK,
        SimbolF = SegmentA | SegmentB | SegmentG | SegmentH | SegmentM | SegmentK,
        SimbolG = SegmentH | SegmentG | SegmentF | SegmentE | SegmentD | SegmentM | SegmentA | SegmentB,
        SimbolH = SegmentC | SegmentD | SegmentG | SegmentH | SegmentM | SegmentK,
        SimbolI = SegmentA | SegmentB | SegmentE | SegmentF | SegmentJ | SegmentI,
        SimbolJ = SegmentA | SegmentB | SegmentC | SegmentD | SegmentE | SegmentF | SegmentG,
        SimbolK = SegmentG | SegmentH | SegmentM | SegmentO | SegmentP,
        DigitL = SegmentD | SegmentE | SegmentF,
        SimbolM = SegmentH | SegmentG | SegmentN | SegmentO | SegmentC | SegmentD,
        Digitn = SegmentC | SegmentE | SegmentG,
        SimbolN = SegmentH | SegmentG | SegmentN | SegmentP | SegmentD | SegmentC,
        Digito = SegmentC | SegmentD | SegmentE | SegmentG,
        DigitO = SegmentA | SegmentB | SegmentC | SegmentD | SegmentE | SegmentF,
        SimbolP = SegmentA | SegmentB | SegmentC | SegmentM | SegmentJ | SegmentH | SegmentG,
        SimbolQ = SegmentA | SegmentB | SegmentC | SegmentD | SegmentF | SegmentE | SegmentH | SegmentG | SegmentP,
        SimbolR = SegmentA | SegmentB | SegmentC | SegmentM | SegmentJ | SegmentH | SegmentG | SegmentP,
        SimbolS = SegmentA | SegmentB | SegmentH | SegmentJ | SegmentM | SegmentD | SegmentE | SegmentF,
        SimbolT = SegmentA | SegmentB | SegmentI | SegmentK,
        SimbolU = SegmentH | SegmentG | SegmentF | SegmentE | SegmentD | SegmentC,
        SimbolV = SegmentN | SegmentP | SegmentD | SegmentC,
        SimbolW = SegmentH | SegmentG | SegmentR | SegmentP | SegmentD | SegmentC,
        SimbolX = SegmentN | SegmentO | SegmentR | SegmentP,
        SimbolY = SegmentN | SegmentO | SegmentK,
        SimbolZ = SegmentA | SegmentB | SegmentO | SegmentR | SegmentF | SegmentE,
    }
}
